// This block runs after the page is fully loaded
$(document).ready(function(){
	$('input[hint], textarea[hint]').each(function(){
		$this = $(this);
		if ($this.val() === '') {
			$this.val($this.attr('hint'));
			$this.addClass('hinted');
		}
	}).focus(function(){
		$this = $(this);
		if ($this.val() === $this.attr('hint')) {
			$this.val('');
			$this.removeClass('hinted');
		}
	}).blur(function(){
		$this = $(this);
		if ($this.val() === '') {
			$this.val($this.attr('hint'));
			$this.addClass('hinted');
		}
		
	});
	
	if ($('.time')[0]) {
		$( '.time' ).datetimepicker();
	}
	
	//$( document ).tooltip();	
	
	$('#usrFeedBk').click(function(){
		$( "#memberFeedbackPanel" ).dialog( "open" );
	});
	
	$('#memberFeedbackPanel').dialog({
        autoOpen: false,
        height: 430,
        width: 350,
        modal: true,
        buttons: {
            "Send": function() {
                var bValid = true;

                allFields.removeClass( "ui-state-error" );

                bValid = bValid && checkLength( text, "text", 3, 400 );
                bValid = bValid && checkLength( email, "email", 6, 80 );

                bValid = bValid && checkRegexp( email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "eg. ui@pijunn.com" );

                if ( bValid ) {
                    $( "#users tbody" ).append( "<tr>" +
                        "<td>" + text.val() + "</td>" +
                        "<td>" + email.val() + "</td>" +
                    "</tr>" );
                    $( this ).dialog( "close" );
                }
            },
            Cancel: function() {
                $( this ).dialog( "close" );
            }
        },
        close: function() {
            allFields.val( "" ).removeClass( "ui-state-error" );
        }
	});

    var text = $( "#feedbackText" ),
    email = $( "#feedbackEmail" ),
    allFields = $( [] ).add( text ).add( email ),
    tips = $( ".validateTips" );

    function updateTips( t ) {
		tips
		    .text( t )
		    .addClass( "ui-state-highlight" );
		setTimeout(function() {
		    tips.removeClass( "ui-state-highlight", 1500 );
		}, 500 );
	}
	
	function checkLength( o, n, min, max ) {
		if ( o.val().length > max || o.val().length < min ) {
		    o.addClass( "ui-state-error" );
		    updateTips( "Length of " + n + " must be between " +
		        min + " and " + max + "." );
		    return false;
		} else {
		    return true;
		}
	}
	
	function checkRegexp( o, regexp, n ) {
		if ( !( regexp.test( o.val() ) ) ) {
		    o.addClass( "ui-state-error" );
		    updateTips( n );
		    return false;
		} else {
		    return true;
		}
	}

});
